package com.xiaoju.uemc.tinyid.server.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaoju.uemc.tinyid.server.dao.entity.TinyIdInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @author du_imba
 */
@Mapper
public interface TinyIdInfoDAO extends BaseMapper<TinyIdInfo> {

    /**
     * 根据bizType获取db中的tinyId对象
     *
     * @param bizType
     * @return
     */
    TinyIdInfo queryByBizType(@Param("bizType") String bizType);

    /**
     * 根据id、oldMaxId、version、bizType更新最新的maxId
     *
     * @param id
     * @param newMaxId
     * @param oldMaxId
     * @param version
     * @param bizType
     * @return
     */
    int updateMaxId(@Param("id") Long id, @Param("newMaxId") Long newMaxId, @Param("oldMaxId") Long oldMaxId,
            @Param("version") Long version, @Param("bizType") String bizType);
}
